home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #2
/
Monster Media No. 2 (Monster Media)(1994).ISO
/
pcboard
/
thtmnu12.zip
/
MENU.PPE
(
.txt
)
< prev
next >
Wrap
PCBoard Programming Language Executable
|
1994-04-18
|
4KB
|
241 lines
;------------------------------------------------------------------------------
; .ss.
; `²²'
; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
; .sS²°$$$²²°"' d²°'
; .$$² .$$'
; $$$.,d$$'
; `²S$$S²'
;------------------------------------------------------------------------------
; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
;------------------------------------------------------------------------------
; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
;------------------------------------------------------------------------------
Integer INTEGER001
Integer INTEGER002
Integer INTEGER003
Integer INTEGER004
String STRING001
String STRING002
String STRING003
String STRING004
String STRING005
String STRING006
String STRING007
String STRING008
String STRING009
String STRING010
String STRING011
String STRING012
String STRING013
String STRING014
String STRING015
;------------------------------------------------------------------------------
STRING015 = Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + Chr(65) + Chr(76) + Chr(84) + Chr(45) + Chr(77) + Chr(101) + Chr(110) + Chr(117) + " " + Chr(118) + Chr(49) + Chr(46) + Chr(50) + Chr(48)
GetUser
STRING014 = ReadLine(PPEPath() + PPEName() + ".cfg", 4)
STRING010 = ReadLine(PPEPath() + PPEName() + ".cfg", 2)
STRING011 = ReadLine(PPEPath() + PPEName() + ".cfg", 3)
:LABEL001
DefColor
StartDisp 1
If (Exist(PPEPath() + PPEName() + ".nws")) Then
DispFile PPEPath() + PPEName() + ".nws", 4 + 2
Newline
Wait
Endif
Cls
If (Exist(PPEPath() + PPEName() + ".hdr")) DispFile PPEPath() + PPEName() + ".hdr", 4 + 2
STRING002 = GetY() + 1
STRING003 = STRING002
If (Exist(PPEPath() + PPEName() + ".dsp")) DispFile PPEPath() + PPEName() + ".dsp", 0
If (Exist(PPEPath() + PPEName() + ".dsp")) Then
INTEGER004 = GetY() - 4
Else
INTEGER004 = 20
Endif
AnsiPos 57, STRING003 - 1
Print Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + I2S(12, 36) + I2S(24, 26) + I2S(13, 36) + I2S(14, 36) + I2S(13, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(15, 36) + " " + I2S(11, 36) + I2S(34, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(15, 36) + " " + I2S(29, 36) + I2S(17, 36) + I2S(14, 36) + Chr(64) + Chr(88) + Chr(48) + I2S(8, 36) + " " + I2S(22, 36) + I2S(10, 36) + I2S(28, 36) + I2S(29, 36) + I2S(14, 36) + I2S(27, 36)
AnsiPos 33, STRING003 - 1
Print STRING015
FClose 1
FOpen 1, PPEPath() + PPEName() + ".dat", 0, 0
STRING001 = 1
STRING004 = 2
:LABEL002
If (Ferr(1)) Goto LABEL004
FGet 1, STRING013
If (STRING013 == "") Goto LABEL003
AnsiPos STRING004, STRING002
Print STRING010 + "(" + STRING011 + STRING001 + STRING010 + ")@X07 " + STRING013
Inc STRING002
If (STRING014 == YesChar()) Inc STRING002
Inc STRING001
If ((STRING002 >= INTEGER004 + 3) && (STRING004 == 28)) Then
STRING004 = 54
STRING002 = STRING003
Endif
If (STRING002 >= INTEGER004 + 3) Then
STRING004 = 28
STRING002 = STRING003
Endif
:LABEL003
Goto LABEL002
:LABEL004
Newline
FClose 1
FOpen 1, PPEPath() + PPEName() + ".cfg", 2, 0
FGet 1, STRING006
FGet 1, STRING009
FGet 1, STRING009
FGet 1, STRING009
:LABEL005
AnsiPos 1, INTEGER004 + 4
Print Space(78)
AnsiPos 1, INTEGER004 + 4
STRING012 = ""
InputStr STRING006, STRING012, "", 2, "1234567890", 0
If (STRING012 == "") Stop
If (STRING012 > STRING001 - 1) Goto LABEL005
INTEGER001 = 1
INTEGER002 = 1
If (Ferr(1)) Goto LABEL010
:LABEL006
FGet 1, STRING013
If (STRING013 == "") Goto LABEL010
If ((INTEGER001 == STRING012) || (INTEGER002 == STRING012)) Then
STRING005 = Left(STRING013, 1)
Tokenize STRING013
If (TokCount() == 3) Then
GetToken STRING007
GetToken STRING009
GetToken STRING008
Else
GetToken STRING007
GetToken STRING008
Endif
If (CurSec() < STRING008) Then
DispFile PPEPath() + PPEName() + ".lvl", 4
Else
If ((STRING005 == "%") || (STRING005 == "!")) Goto LABEL007
If (STRING005 == "?") Goto LABEL008
Tokenize STRING013
If (TokCount() == 4) WrUSysDoor STRING007
If (TokCount() == 3) WrUSys
If ((((TokCount() == 4) || (TokCount() == 3)) || (TokCount() == 2)) || (TokCount() == 1)) Shell 1, INTEGER003, PPEPath() + STRING007 + ".bat", ""
If ((TokCount() == 3) || (TokCount() == 4)) RdUSys
Goto LABEL010
:LABEL007
DispStr STRING007
If (STRING005 == "%") Then
Newline
Wait
Endif
Goto LABEL009
:LABEL008
STRING007 = Strip(STRING007, "?")
KbdStuff "DOOR " + STRING007 + Chr(13)
Stop
:LABEL009
Inc INTEGER001
Else
Inc INTEGER002
Goto LABEL006
Endif
Endif
:LABEL010
FClose 1
Goto LABEL001
End
;------------------------------------------------------------------------------
;
; Usage report (before postprocessing)
;
; ■ Statements used :
;
; 1 End
; 1 Cls
; 2 Wait
; 24 Goto
; 19 Let
; 4 Print
; 23 If
; 4 DispFile
; 2 FOpen
; 3 FClose
; 6 FGet
; 1 StartDisp
; 1 GetUser
; 1 DefColor
; 1 InputStr
; 5 Inc
; 3 Newline
; 2 Tokenize
; 5 GetToken
; 1 Shell
; 2 Stop
; 1 KbdStuff
; 1 DispStr
; 5 AnsiPos
; 1 WrUSys
; 1 RdUSys
; 1 WrUSysDoor
;
;
; ■ Functions used :
;
; 94 +
; 4 -
; 20 ==
; 1 <
; 1 >
; 2 >=
; 10 !
; 1 &&
; 6 ||
; 1 Left()
; 1 Space()
; 2 Ferr()
; 29 Chr()
; 1 YesChar()
; 1 Strip()
; 14 PPEPath()
; 3 ReadLine()
; 1 CurSec()
; 4 Exist()
; 21 I2S()
; 2 GetY()
; 13 PPEName()
; 9 TokCount()
;
;------------------------------------------------------------------------------
;
; Analysis flags : S
;
; S - Shell to DOS ■ 5
; This may be normal if the PPE need to execute an external command,
; but may be actually anything... nasty (formating HD, rebooting,...)
; or usefull (sorting, maintenance,...). Check!
; ■ Search for : SHELL
;
;------------------------------------------------------------------------------
;
; Postprocessing report
;
; 0 For/Next
; 0 While/EndWhile
; 8 If/Then or If/Then/Else
; 0 Select Case
;
;------------------------------------------------------------------------------
; AEGiS Corp - Break the routines, code against the machines!
;------------------------------------------------------------------------------